package com.meida.module.bus.client.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.meida.common.mybatis.annotation.TableAlias;
import com.meida.common.mybatis.base.entity.AbstractAllEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单表
 *
 * @author flyme
 * @date 2021-08-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("bus_order")
@TableAlias("busOrder")
@ApiModel(value = "BusOrder对象", description = "订单表")
public class BusOrder extends AbstractAllEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "orderId", type = IdType.ASSIGN_ID)
    private Long orderId;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "专业分类")
    private Long subjectId;

    @ApiModelProperty(value = "知识点标签")
    private String subjectIds;

    @ApiModelProperty(value = "发布人")
    private Long userId;

    @ApiModelProperty(value = "解答人")
    private Long answerUserId;

    @ApiModelProperty(value = "1:拍照提问，2:预约辅导，3:作业无忧")
    private Integer orderType;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "优惠金额")
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "悬赏金额")
    private BigDecimal rewardAmount;

    @ApiModelProperty(value = "应付金额")
    private BigDecimal payableAmount;

    @ApiModelProperty(value = "作业无忧(预期报价)")
    private BigDecimal expectedAmount;

    @ApiModelProperty(value = "佣金")
    private BigDecimal commission;

    @ApiModelProperty(value = "优惠券ID")
    private Long couponUserId;

    @ApiModelProperty(value = "封面图")
    private String coverImg;

    @ApiModelProperty(value = "订单状态(详见枚举)")
    private String orderState;

    @ApiModelProperty(value = "支付状态")
    private Integer payState;

    @ApiModelProperty(value = "支付方式")
    private String payType;

    @ApiModelProperty(value = "支付时间")
    private String payTime;

    @ApiModelProperty(value = "订单描述")
    private String orderDescribe;

    @ApiModelProperty(value = "辅导类型(预约辅导)")
    private Long tutorTypeId;

    @ApiModelProperty(value = "预约日期(预约辅导)")
    private String appointmentDate;


    @ApiModelProperty(value = "预约时间(预约辅导)")
    private String appointmentTime;

    @ApiModelProperty(value = "预约时长(预约辅导)")
    private BigDecimal durationTime;

    @ApiModelProperty(value = "截止日期(作业无忧)")
    private String expiryTime;

    @ApiModelProperty(value = "私单")
    private Integer privateOrder;


}
